/*p/ persistir no BD um paciente, ATRAVÉS do ENTITYMANAGER
 */
package clinicapoo.dao;

import clinicapoo.model.Paciente;
import java.util.List;
/**
 * @author Christiano
 */
public class PacienteDAO extends BaseDAO
{
	public void cadastrar(Paciente p)
	{
		getEntityManager().persist(p);
	}

	public void atualizar(Paciente p)
	{
		getEntityManager().flush();
	}

        // 6/novembro
       	public void excluir(Paciente p)
	{
		log.debug(p.toString());
		getEntityManager().remove(p);
	}

	public Paciente procurarPorCpf(String cpf)
	{
		log.debug("cpf: " + cpf);
		List<Paciente> pacientes = getEntityManager()
				.createQuery("from Paciente p where p.cpf = :cpf")
				.setParameter("cpf", cpf).getResultList();
		if (pacientes.isEmpty())
			return null;
		else
			return pacientes.get(0);
	}

	public List<Paciente> listar()
	{
		log.debug("Recuperando lista de pacientes");
		return getEntityManager().createQuery("select object(p) from Paciente p").getResultList();
	}
}
